modelmenuitem: Fix icon/label alignment
authorTimm Bäder <mail@baedert.org>
Wed, 11 Oct 2017 07:03:40 +0000 (09:03 +0200)
committerTimm Bäder <mail@baedert.org>
Wed, 11 Oct 2017 07:03:40 +0000 (09:03 +0200)
gtk_box_pack_end will put the label child at the right side of the label
(in LTR orientation), but we want it left, directly next to the icon.
Also remove the spacing from the box child as this is a theme thing.

gtk/gtkmodelmenuitem.c

index 9afca4386fec2ba53d0f7e0d4155126b84b60203..0f05e83bc35cf0ee598de4e886cd867183af459f 100644 (file)
@@ -165,12 +165,12 @@ gtk_model_menu_item_set_icon (GtkModelMenuItem *item,
       if (icon == NULL)
         return;
 
-      box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+      box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
 
       /* Reparent the child without destroying it */
       g_object_ref (child);
       gtk_container_remove (GTK_CONTAINER (item), child);
-      gtk_box_pack_end (GTK_BOX (box), child);
+      gtk_container_add (GTK_CONTAINER (box), child);
       g_object_unref (child);
 
       gtk_container_add (GTK_CONTAINER (item), box);
@@ -190,7 +190,8 @@ gtk_model_menu_item_set_icon (GtkModelMenuItem *item,
 
       image = gtk_image_new_from_gicon (icon, GTK_ICON_SIZE_MENU);
       gtk_image_set_pixel_size (GTK_IMAGE (image), 16);
-      gtk_box_pack_start (GTK_BOX (child), image);
+      gtk_container_add (GTK_CONTAINER (child), image);
+      gtk_box_reorder_child (GTK_BOX (child), image, 0);
     }
 
   g_object_notify (G_OBJECT (item), "icon");